# -*- coding: utf-8  -*-
#codigo GPL, autor: emijrp

#from __future__ import generators
import re
import wikipedia, pagegenerators
 
PageTitles=[]
for mes in [u"Enero",u"Marzo",u"Mayo",u"Julio",u"Agosto",u"Octubre",u"Diciembre"]:
        for num in range(32):
                if num!=0:
                        PageTitles.append(u"%s de %s" % (str(num), mes))
 
for mes in [u"Abril", u"Junio", u"Septiembre", u"Noviembre"]:
        for num in range(31):
                if num!=0:
                        PageTitles.append(u"%s de %s" % (str(num), mes))
 
for mes in [u"Febrero"]:
        for num in range(30):
                if num!=0:
                        PageTitles.append(u"%s de %s" % (str(num), mes))
 
pages = [wikipedia.Page(wikipedia.Site("es", "wikipedia"), PageTitle) for PageTitle in PageTitles]
gen = iter(pages)
preloadingGen = pagegenerators.PreloadingGenerator(gen, pageNumber = 60)

texto_log = u''

for page in preloadingGen:
        wikipedia.output(u"\n==== \03{lightgreen}%s\03{default} ====" % (page.title() ) )
        wtitle=page.title()
 
        if page.exists() and not page.isRedirectPage():# es un articulo valido, [[28 de Julio]] es un municipio
                texto_log += u'# [[%s]] (no revisado)\n' % wtitle
                continue
 
        ref = page.getReferences()

        i = 0
        for r in ref:
                i += 1
                if r.namespace()==0 and not r.isRedirectPage():
                        rt=r.get()
                        nuevo=rt
 
                        for mes in [u"Enero",u"Marzo",u"Mayo",u"Julio",u"Agosto",u"Octubre",u"Diciembre"]:
                                for num in range(32):
                                        if num!=0:
                                                fecha=u"%s de %s" % (str(num), mes)
                                                nuevo=re.sub(ur"\[\[%s\]\]" % fecha, ur"[[%s]]" % fecha.lower(), nuevo)
 
                        for mes in [u"Abril", u"Junio", u"Septiembre", u"Noviembre"]:
                                for num in range(31):
                                        if num!=0:
                                                fecha=u"%s de %s" % (str(num), mes)
                                                nuevo=re.sub(ur"\[\[%s\]\]" % fecha, ur"[[%s]]" % fecha.lower(), nuevo)
 
                        for mes in [u"Febrero"]:
                                for num in range(30):
                                        if num!=0:
                                                fecha=u"%s de %s" % (str(num), mes)
                                                nuevo=re.sub(ur"\[\[%s\]\]" % fecha, ur"[[%s]]" % fecha.lower(), nuevo)
 
                        wikipedia.showDiff(rt, nuevo)
                        r.put(nuevo, u'Bot: Arreglando fechas')
                        
        texto_log += u'# [[%s]] (%s enlaces)\n' % (wtitle, i)

page = wikipedia.Page('es', u'Usuario:Muro Bot/Avisos/Fechas')
page.put(texto_log, u'Bot: Actualizando página')
